# Verify Edits
* Execution: *banff.verifyedits()*
* SDE function type: *None*
* Input status flags: *None*
* Output status flags: *None*
## Description
Checks the edits for consistency and redundancy.
The `verifyedits` procedure does not analyze statistical data or perform any SDE functions (review, selection, treatment). Instead, it is used to review a set of user-specified `edits` to verify consistency and identify any redundant edits, deterministic variables, or hidden qualities. Once these features are identified, the minimal set of edits is determined. Users are encouraged to review any set of proposed edits using `verifyedits` before calling the edit-based procedures `errorloc`, `deterministic`,`donorimp`, or `prorate`. Functions performed:
* Consistency: the set of edits is checked for consistency, i.e., that the constraints define a non-empty feasible region.
* Redundancy: produces a list of edits that are redundant, i.e., that can be removed without affecting the feasible region.
* Bounds: produces implied upper and lower bounds for each variable. This also reveals any deterministic variables, i.e., variables that can only take on a single value.
* Extremal points: generates the set of extremal points, or vertices, of the feasible region.
* Hidden equalities: produces a list of hidden equalities not specified in the original list of edits.
* Implied edits: generates a set of implied edits not specified in the original list of edits.
* Minimal edits: generates a set of minimal edits required to define the feasible region generated by the original edits.
Together, the outputs of `verifyedits` may give the user a better sense of the feasible region defined by the original edits, before using them in other procedures. Even if the original edits are consistent, the outputs may reveal unexpected or unintended constraints that can be addressed by adding, removing, or altering the edits. Using the minimal set of edits can also increase performance in other procedures.
For a full mathematical description of the procedure methods, with examples, please see the [Functional Description](../Banff%20Functional%20Description.pdf).
## Input and output tables
The `verifyedits` procedure does not require input table or produce output tables. Output information is printed directly to the Banff log.
## Parameters
| Parameter | Python type | Description |
| ----------------| ------------| --------------------------- |
| edits | str | List of consistency edits. Mandatory.
Example: `"Revenue - Expenses = Profit; Revenue >= 0; Expenses >= 0;"` |
| extremal | int | Maximum cardinality of the shown extremal points. Default=0.
Cardinality refers to the number of non-zero coordinates of an extremal point. No extremal points will be generated when `accept_negative=True`. |
| imply | int | Number of implied edits to be generated. Default=0. |
| accept_negative | bool | Treat negative values as valid. Default=False.
By default, a positivity edit is added for every variable in the list of edits; this parameter permits users to remove this restriction. If desired, users may directly add positivity edits for individual variables. |